package threads.demo01;


/**
 * suspend() 和 resume() 方法是过期的,若想实现统一的功能，可以使用JDK提供的 LockSupport 类来代替。
 */
public class ThreadSuspendDemo {

    public static void main(String[] args) throws InterruptedException {
        MyThread thread = new MyThread();
        thread.start();
        Thread.sleep(1000);
        thread.suspend();

        System.out.println("main end");
    }

    static class MyThread extends Thread{
        private long i;

        @Override
        public void run() {
            while(true){
                i++;

                // 有下面此行语句就在控制台看不到 "main end" 的打印输出
                // 因为 System.out.println 是有锁的,当前线程被暂停其获取到的锁不会被释放，因此 main 线程获取不到 System.out.println 的锁
                // 因此不会打印 "main end", main 线程也不会结束
                System.out.println(i);
            }
        }
    }

}

